FHIR © HL7.org  |  Server Home  |  FHIR Server FHIR Server 3.7.16  |  FHIR Version n/a  User: [n/a]

Resource StructureDefinition/FHIR Server from package hl7.fhir.uv.tools.r3#0.5.0 (93 ms)

Package hl7.fhir.uv.tools.r3
Type StructureDefinition
Id Id
FHIR Version R3
Source http://hl7.org/fhir/tools/http://hl7.org/fhir/tools/0.5.0/StructureDefinition-type-specifier.html
Url http://hl7.org/fhir/tools/StructureDefinition/type-specifier
Version 0.5.0
Status active
Date 2025-04-17T05:34:58+10:00
Name TypeSpecifier
Title Type Specifier Extension
Experimental False
Realm uv
Authority hl7
Description In some logical models, the type of content at one location depends on the value of some other element, and the type is otherwise not explicit in the instance. In such cases, the type of the element is assigned an abstract ancestor type, and this extension specifies how to determine what type is actually used
Type Extension
Kind complex-type

Resources that use this resource

No resources found


Resources that this resource uses

No resources found



Source

{
  "resourceType" : "StructureDefinition",
  "id" : "type-specifier",
  "extension" : [
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger" : 3
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg",
      "valueCode" : "fhir"
    },
    {
      "url" : "http://hl7.org/fhir/StructureDefinition/structuredefinition-type-characteristics",
      "valueCode" : "can-bind"
    }
  ],
  "url" : "http://hl7.org/fhir/tools/StructureDefinition/type-specifier",
  "identifier" : [
    {
      "system" : "urn:ietf:rfc:3986",
      "value" : "urn:oid:2.16.840.1.113883.4.642.40.1.42.41"
    }
  ],
  "version" : "0.5.0",
  "name" : "TypeSpecifier",
  "title" : "Type Specifier Extension",
  "status" : "active",
  "experimental" : false,
  "date" : "2025-04-17T05:34:58+10:00",
  "publisher" : "HL7 International / FHIR Infrastructure",
  "contact" : [
    {
      "telecom" : [
        {
          "system" : "url",
          "value" : "http://www.hl7.org/Special/committees/fiwg"
        }
      ]
    }
  ],
  "description" : "In some logical models, the type of content at one location depends on the value of some other element, and the type is otherwise not explicit in the instance. In such cases, the type of the element is assigned an abstract ancestor type, and this extension specifies how to determine what type is actually used",
  "jurisdiction" : [
    {
      "coding" : [
        {
          "system" : "http://unstats.un.org/unsd/methods/m49/m49.htm",
          "code" : "001"
        }
      ]
    }
  ],
  "fhirVersion" : "3.0.2",
  "mapping" : [
    {
      "identity" : "rim",
      "uri" : "http://hl7.org/v3",
      "name" : "RIM Mapping"
    }
  ],
  "kind" : "complex-type",
  "abstract" : false,
  "contextType" : "datatype",
  "context" : [
    "ElementDefinition"
  ],
  "type" : "Extension",
  "baseDefinition" : "http://hl7.org/fhir/StructureDefinition/Extension",
  "derivation" : "constraint",
  "snapshot" : {
    "element" : [
      {
        "id" : "Extension",
        "path" : "Extension",
        "short" : "Indicates that this repeating element is represented as an object in json and the named one of the two sub-elements is the key for the other one",
        "definition" : "type-specifiers applied to bindable elements.",
        "min" : 0,
        "max" : "*",
        "base" : {
          "path" : "Extension",
          "min" : 0,
          "max" : "*"
        },
        "condition" : [
          "ele-1"
        ],
        "constraint" : [
          {
            "key" : "ele-1",
            "severity" : "error",
            "human" : "All FHIR elements must have a @value or children",
            "expression" : "hasValue() | (children().count() > id.count())",
            "xpath" : "@value|f:*|h:div",
            "source" : "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key" : "ext-1",
            "severity" : "error",
            "human" : "Must have either extensions or value[x], not both",
            "expression" : "extension.exists() != value.exists()",
            "xpath" : "exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])",
            "source" : "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ]
      },
      {
        "id" : "Extension.id",
        "path" : "Extension.id",
        "representation" : [
          "xmlAttr"
        ],
        "short" : "xml:id (or equivalent in JSON)",
        "definition" : "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min" : 0,
        "max" : "1",
        "base" : {
          "path" : "Element.id",
          "min" : 0,
          "max" : "1"
        },
        "type" : [
          {
            "code" : "string"
          }
        ],
        "mapping" : [
          {
            "identity" : "rim",
            "map" : "n/a"
          }
        ]
      },
      {
        "id" : "Extension.extension",
        "path" : "Extension.extension",
        "slicing" : {
          "discriminator" : [
            {
              "type" : "value",
              "path" : "url"
            }
          ],
          "description" : "Extensions are always sliced by (at least) url",
          "rules" : "closed"
        },
        "short" : "Extension",
        "definition" : "An Extension",
        "min" : 2,
        "max" : "2",
        "base" : {
          "path" : "Element.extension",
          "min" : 0,
          "max" : "*"
        },
        "type" : [
          {
            "code" : "Extension"
          }
        ]
      },
      {
        "id" : "Extension.extension:condition",
        "path" : "Extension.extension",
        "sliceName" : "condition",
        "short" : "Condition for this type (FHIRPath)",
        "definition" : "The FHIRPath expression for this type to be true.",
        "min" : 1,
        "max" : "1",
        "base" : {
          "path" : "Element.extension",
          "min" : 0,
          "max" : "*"
        },
        "type" : [
          {
            "code" : "Extension"
          }
        ]
      },
      {
        "id" : "Extension.extension:condition.id",
        "path" : "Extension.extension.id",
        "representation" : [
          "xmlAttr"
        ],
        "short" : "xml:id (or equivalent in JSON)",
        "definition" : "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min" : 0,
        "max" : "1",
        "base" : {
          "path" : "Element.id",
          "min" : 0,
          "max" : "1"
        },
        "type" : [
          {
            "code" : "string"
          }
        ],
        "mapping" : [
          {
            "identity" : "rim",
            "map" : "n/a"
          }
        ]
      },
      {
        "id" : "Extension.extension:condition.extension",
        "path" : "Extension.extension.extension",
        "slicing" : {
          "discriminator" : [
            {
              "type" : "value",
              "path" : "url"
            }
          ],
          "description" : "Extensions are always sliced by (at least) url",
          "rules" : "open"
        },
        "short" : "Extension",
        "definition" : "An Extension",
        "min" : 0,
        "max" : "0",
        "base" : {
          "path" : "Element.extension",
          "min" : 0,
          "max" : "*"
        },
        "type" : [
          {
            "code" : "Extension"
          }
        ]
      },
      {
        "id" : "Extension.extension:condition.url",
        "path" : "Extension.extension.url",
        "representation" : [
          "xmlAttr"
        ],
        "short" : "identifies the meaning of the extension",
        "definition" : "Source of the definition for the extension code - a logical name or a URL.",
        "comment" : "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
        "min" : 1,
        "max" : "1",
        "base" : {
          "path" : "Extension.url",
          "min" : 1,
          "max" : "1"
        },
        "type" : [
          {
            "code" : "uri"
          }
        ],
        "fixedUri" : "condition",
        "mapping" : [
          {
            "identity" : "rim",
            "map" : "N/A"
          }
        ]
      },
      {
        "id" : "Extension.extension:condition.value[x]",
        "path" : "Extension.extension.value[x]",
        "short" : "Value of extension",
        "definition" : "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
        "min" : 1,
        "max" : "1",
        "base" : {
          "path" : "Extension.value[x]",
          "min" : 0,
          "max" : "1"
        },
        "type" : [
          {
            "code" : "string"
          }
        ],
        "mapping" : [
          {
            "identity" : "rim",
            "map" : "N/A"
          }
        ]
      },
      {
        "id" : "Extension.extension:type",
        "path" : "Extension.extension",
        "sliceName" : "type",
        "short" : "The type (uri - usually full URI of logical model type_",
        "definition" : "An Extension",
        "min" : 1,
        "max" : "1",
        "base" : {
          "path" : "Element.extension",
          "min" : 0,
          "max" : "*"
        },
        "type" : [
          {
            "code" : "Extension"
          }
        ]
      },
      {
        "id" : "Extension.extension:type.id",
        "path" : "Extension.extension.id",
        "representation" : [
          "xmlAttr"
        ],
        "short" : "xml:id (or equivalent in JSON)",
        "definition" : "unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min" : 0,
        "max" : "1",
        "base" : {
          "path" : "Element.id",
          "min" : 0,
          "max" : "1"
        },
        "type" : [
          {
            "code" : "string"
          }
        ],
        "mapping" : [
          {
            "identity" : "rim",
            "map" : "n/a"
          }
        ]
      },
      {
        "id" : "Extension.extension:type.extension",
        "path" : "Extension.extension.extension",
        "slicing" : {
          "discriminator" : [
            {
              "type" : "value",
              "path" : "url"
            }
          ],
          "description" : "Extensions are always sliced by (at least) url",
          "rules" : "open"
        },
        "short" : "Extension",
        "definition" : "An Extension",
        "min" : 0,
        "max" : "0",
        "base" : {
          "path" : "Element.extension",
          "min" : 0,
          "max" : "*"
        },
        "type" : [
          {
            "code" : "Extension"
          }
        ]
      },
      {
        "id" : "Extension.extension:type.url",
        "path" : "Extension.extension.url",
        "representation" : [
          "xmlAttr"
        ],
        "short" : "identifies the meaning of the extension",
        "definition" : "Source of the definition for the extension code - a logical name or a URL.",
        "comment" : "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
        "min" : 1,
        "max" : "1",
        "base" : {
          "path" : "Extension.url",
          "min" : 1,
          "max" : "1"
        },
        "type" : [
          {
            "code" : "uri"
          }
        ],
        "fixedUri" : "type",
        "mapping" : [
          {
            "identity" : "rim",
            "map" : "N/A"
          }
        ]
      },
      {
        "id" : "Extension.extension:type.value[x]",
        "path" : "Extension.extension.value[x]",
        "short" : "Value of extension",
        "definition" : "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
        "min" : 1,
        "max" : "1",
        "base" : {
          "path" : "Extension.value[x]",
          "min" : 0,
          "max" : "1"
        },
        "type" : [
          {
            "code" : "code"
          }
        ],
        "mapping" : [
          {
            "identity" : "rim",
            "map" : "N/A"
          }
        ]
      },
      {
        "id" : "Extension.url",
        "path" : "Extension.url",
        "representation" : [
          "xmlAttr"
        ],
        "short" : "identifies the meaning of the extension",
        "definition" : "Source of the definition for the extension code - a logical name or a URL.",
        "comment" : "The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.",
        "min" : 1,
        "max" : "1",
        "base" : {
          "path" : "Extension.url",
          "min" : 1,
          "max" : "1"
        },
        "type" : [
          {
            "code" : "uri"
          }
        ],
        "fixedUri" : "http://hl7.org/fhir/tools/StructureDefinition/type-specifier",
        "mapping" : [
          {
            "identity" : "rim",
            "map" : "N/A"
          }
        ]
      },
      {
        "id" : "Extension.value[x]",
        "path" : "Extension.value[x]",
        "short" : "Value of extension",
        "definition" : "Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).",
        "min" : 0,
        "max" : "0",
        "base" : {
          "path" : "Extension.value[x]",
          "min" : 0,
          "max" : "1"
        },
        "type" : [
          {
            "code" : "base64Binary"
          },
          {
            "code" : "boolean"
          },
          {
            "code" : "code"
          },
          {
            "code" : "date"
          },
          {
            "code" : "dateTime"
          },
          {
            "code" : "decimal"
          },
          {
            "code" : "id"
          },
          {
            "code" : "instant"
          },
          {
            "code" : "integer"
          },
          {
            "code" : "markdown"
          },
          {
            "code" : "oid"
          },
          {
            "code" : "positiveInt"
          },
          {
            "code" : "string"
          },
          {
            "code" : "time"
          },
          {
            "code" : "unsignedInt"
          },
          {
            "code" : "uri"
          },
          {
            "code" : "Address"
          },
          {
            "code" : "Age"
          },
          {
            "code" : "Annotation"
          },
          {
            "code" : "Attachment"
          },
          {
            "code" : "CodeableConcept"
          },
          {
            "code" : "Coding"
          },
          {
            "code" : "ContactPoint"
          },
          {
            "code" : "Count"
          },
          {
            "code" : "Distance"
          },
          {
            "code" : "Duration"
          },
          {
            "code" : "HumanName"
          },
          {
            "code" : "Identifier"
          },
          {
            "code" : "Money"
          },
          {
            "code" : "Period"
          },
          {
            "code" : "Quantity"
          },
          {
            "code" : "Range"
          },
          {
            "code" : "Ratio"
          },
          {
            "code" : "Reference"
          },
          {
            "code" : "SampledData"
          },
          {
            "code" : "Signature"
          },
          {
            "code" : "Timing"
          },
          {
            "code" : "Meta"
          }
        ],
        "mapping" : [
          {
            "identity" : "rim",
            "map" : "N/A"
          }
        ]
      }
    ]
  },
  "differential" : {
    "element" : [
      {
        "id" : "Extension",
        "path" : "Extension",
        "short" : "Indicates that this repeating element is represented as an object in json and the named one of the two sub-elements is the key for the other one",
        "definition" : "type-specifiers applied to bindable elements.",
        "min" : 0,
        "max" : "*"
      },
      {
        "id" : "Extension.extension",
        "path" : "Extension.extension",
        "slicing" : {
          "discriminator" : [
            {
              "type" : "value",
              "path" : "url"
            }
          ],
          "description" : "Extensions are sliced by url",
          "rules" : "closed"
        },
        "min" : 2,
        "max" : "2"
      },
      {
        "id" : "Extension.extension:condition",
        "path" : "Extension.extension",
        "sliceName" : "condition",
        "short" : "Condition for this type (FHIRPath)",
        "definition" : "The FHIRPath expression for this type to be true.",
        "min" : 1,
        "max" : "1",
        "type" : [
          {
            "code" : "Extension"
          }
        ]
      },
      {
        "id" : "Extension.extension:condition.extension",
        "path" : "Extension.extension.extension",
        "max" : "0"
      },
      {
        "id" : "Extension.extension:condition.url",
        "path" : "Extension.extension.url",
        "type" : [
          {
            "code" : "uri"
          }
        ],
        "fixedUri" : "condition"
      },
      {
        "id" : "Extension.extension:condition.value[x]",
        "path" : "Extension.extension.value[x]",
        "min" : 1,
        "type" : [
          {
            "code" : "string"
          }
        ]
      },
      {
        "id" : "Extension.extension:type",
        "path" : "Extension.extension",
        "sliceName" : "type",
        "short" : "The type (uri - usually full URI of logical model type_",
        "min" : 1,
        "max" : "1",
        "type" : [
          {
            "code" : "Extension"
          }
        ]
      },
      {
        "id" : "Extension.extension:type.extension",
        "path" : "Extension.extension.extension",
        "max" : "0"
      },
      {
        "id" : "Extension.extension:type.url",
        "path" : "Extension.extension.url",
        "type" : [
          {
            "code" : "uri"
          }
        ],
        "fixedUri" : "type"
      },
      {
        "id" : "Extension.extension:type.value[x]",
        "path" : "Extension.extension.value[x]",
        "min" : 1,
        "type" : [
          {
            "code" : "code"
          }
        ]
      },
      {
        "id" : "Extension.url",
        "path" : "Extension.url",
        "fixedUri" : "http://hl7.org/fhir/tools/StructureDefinition/type-specifier"
      },
      {
        "id" : "Extension.value[x]",
        "path" : "Extension.value[x]",
        "max" : "0"
      }
    ]
  },
  "text" : {
  }
}

XIG built as of ??metadata-date??. Found ??metadata-resources?? resources in ??metadata-packages?? packages.